<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
</head>

<body>
    <div id="app">
        <div>{{num}}</div>
        <div>
            <button v-on:click="handle1">点击1</button>
            <!-- 直接绑定函数名称 -->
            <button v-on:click="handle2(123,456, $event)">点击2</button>
            <!-- 传递事件对象，$event 固定的 在最后一个就是事件对象-->
            <!-- 调用函数名称 -->
        </div>
    </div>
    <!-- 事件绑定，参数传递
        1.如果事件直接绑定函数名称，那么默认会传递事件对象作为事件函数的第一个参数
        2.如果事件绑定函数调用，那么事件对象必须作为最后一个参数显示传递，
        并且事件对象的名称必须是$evnet -->
    <script src="./vue.js"></script>
    <script>
        var vm = new Vue({
            el: "#app",
            data: {
                num: 0,
            },
            // 函数必须定义在methods当中
            methods: {
                handle2: function(p, p1) {
                    this.num++;
                    console.log(p, p1);
                    // console.log(event.target.tagName);
                    console.log(event.target.innerHTML);
                    // 这里的this是vue的实例对象;
                    // console.log(this === vm);
                },
                handle1: function(event) {
                    console.log(event.target.innerHTML);
                },
            },
        });
    </script>
</body>

</html>